Extensible Application Markup Language (XAML) is a particular Extensible Markup Language (XML) schema that defines the layout and behavior of interactive files similar in functionality to dynamic Hyper Text Markup Language (HTML) files. Searching for files or building search indices for files involves extracting the indexable logical contents, i.e., the textual contents, of the file. Extracting the indexable logical content from an XAML file involves filtering out all formatting and behavior data therefrom.
Files written in XAML cannot be suitably filtered for indexing and/or searching of the indexable logical content contained therein as an arbitrary XML file because such filtering methods do not take into account the markup semantics. Markup semantics include information regarding whether a particular instance of text content or a particular attribute value is to be treated as indexable content rather than non-content (e.g., structural information). Filtering out element and attribute names, for example, and treating all attribute values and text data as content, as a conventional generic XML filter would do, would result in metadata (non-content) being improperly returned as data.
Accordingly, a method for filtering a file written in XAML that accounts for markup semantics and processes elements and attributes would be desirable for accurately determining the content of the file for searching and indexing applications, or any application that needs to specifically process the content of the file.